const Koa = require('koa')
const app = new Koa()
const router = require('koa-router')();// 后端路由
// const MainData = require('./Data/mianData/MainData.json')  // 使用json存储数据
const cors = require('koa2-cors') // 使用cors 来实现跨域
const Mock = require('mockjs')  //  使用mockjs 来实现假数据
const Random = Mock.Random
app.use(require('koa-static')('./public'));  // koa 服务器静态资源

const detailData = require('./Data/mianData/DetailData.json')

app.use(cors({
  origin: function (ctx) { //设置允许来自指定域名请求
    // if (ctx.url === '/test') {
    return '*'; // 允许来自所有域名请求
    // }
    // return 'http://localhost:3000'; //只允许http://localhost:8080这个域名的请求
  },
  maxAge: 5, //指定本次预检请求的有效期，单位为秒。
  credentials: true, //是否允许发送Cookie
  allowMethods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], //设置所允许的HTTP请求方法
  allowHeaders: ['Content-Type', 'Authorization', 'Accept'], //设置服务器支持的所有头信息字段
  exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'] //设置获取其他自定义字段
}))

router.get('/home/context', async (ctx) => {
  let {limit = 20, page = 0 } = ctx.request.query
  // console.log(limit,page);

  let data = Mock.mock({
   'list|20': [{
    'id': '@increment',
    "imgUrl1": Random.image('150x150'),
    "imgUrl2": Random.image('150x150'),
    "imgUrl3": Random.image('150x150'),
    "price|1-10000": 10000,
    'name': '@ctitle(5,10)',
    "text1": "① @ctitle(5,10)",
    "text2": "② @ctitle(5,10)",
    "text3": "③ @ctitle(5,10)",
    'imgsrc': Random.image('150x150'),
    "isSelect": false,
    "count": 1
    }]
  })

  // 返回响应体
  ctx.body = {
    success: true,
    data: data
  }
})

router.get('/detail', async(ctx) => {
  ctx.body = {
    success: true,
    data: detailData
  }
})

app
  .use(router.routes())
  .use(router.allowedMethods())

app.listen(9000, () => {
  console.log('server is running 9000');
})
